package com.code9xs.service;

import com.alibaba.fastjson.JSONObject;
import com.code9xs.pojo.*;
import com.code9xs.util.PageUtil;
import com.code9xs.util.Result;

import java.util.List;
import java.util.Map;

/**
 * @author Suhd
 * @date 2021/4/25
 * @time 14:23
 * @wechat i9xswanan
 * @github https://github.com/Code9xs
 */
public interface AssociationService {
    boolean createAssociation(JSONObject param);

    List<User> getAllMembers(Integer aid);

    boolean modifyMemberInfo(JSONObject param);

    Map<String,Object> getAssociationInfo(Integer aid);

    boolean modifyAssociationInfo(JSONObject param);

    List<Title> getAssociationTitle(Integer aid);

    List<AssociationDepartment> getAssociationDepartment(Integer aid);

    List<Activity> getAssociationActivityTenImg();

    PageUtil getAllAssociation(JSONObject param);

    List<Map<String, Object>> getUserAssociationInfo();

    List<Map<String,Object>> getItemInfo(Integer aid);

    List<String> getItemBanner(Integer aid);

    Association getAssociation(Integer id);

    PageUtil getAssociationActivity(Integer aid,Integer page,Integer size);

    List<Announcement> getAssociationAnnounce(Integer aid);

    Result joinActivity(Integer uid,Integer aid,Integer activityId);

    boolean createActivity(Activity activity);

    boolean createAnnouncement(Announcement announcement);

    Result getUserActivityByPagination(Integer currentPage,Integer pageSize);

    PageUtil getAssociationPeopleByPagination(Integer aid,Integer page,Integer pageSize);

    boolean modifyPeopleInformation(Integer uid,Integer aid,Integer tid,Integer did);

    boolean modifyActivity(Activity activity);

    PageUtil getAssociationAnnouncePaginationByAid(Integer aid,Integer page,Integer pageSize);

    List<Activity> getNewArticle();
}
